home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
tools
/
czesc_2
/
mfilemode
/
source
/
gadgetup.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-09-05
|
3KB
|
158 lines
// Gadgets.c
#include <string.h>
#include <proto/dos.h>
#include <proto/intuition.h>
#include <proto/gadtools.h>
#include <proto/multiuser.h>
#include "MFileMode.h"
#include "GUI.h"
int GAD_FILEClicked(VOID)
{
static ULONG StartSecs = 0, StartMicros = 0;
UBYTE TempPath[81];
BPTR File;
WriteData();
strncpy(TempPath, Path, 80);
AddPart(TempPath, FileNames[MainMsg.Code], 80);
if(File = Lock(TempPath, ACCESS_READ))
{
Examine(File, &FileInfo);
if((DoubleClick(StartSecs, StartMicros, MainMsg.Seconds,
MainMsg.Micros)) && (MainMsg.Code == EntryNum) &&
(FileInfo.fib_DirEntryType >= 0))
{
AddPart(Path, FileNames[MainMsg.Code], 80);
LoadDirectory(File, &FileList);
GT_SetGadgetAttrs(MainGadgets[GD_GAD_PATH], MainWnd, NULL,
GTTX_Text, Path,
TAG_END);
Selected = FALSE;
}
else
{
SetGadgets(&FileInfo);
Selected = TRUE;
Changed = FALSE;
}
UnLock(File);
}
else
AlertUser(MainWnd, "Can't lock file", TempPath);
StartSecs = MainMsg.Seconds;
StartMicros = MainMsg.Micros;
EntryNum = MainMsg.Code;
return TRUE;
}
int GAD_VOLUMESClicked(VOID)
{
WriteData();
LoadVolumes(&FileList);
Selected = FALSE;
return TRUE;
}
int GAD_PARENTClicked(VOID)
{
BPTR File, Parent;
WriteData();
if(File = Lock(Path, ACCESS_READ))
{
if(Parent = ParentDir(File))
{
LoadDirectory(Parent, &FileList);
if(NameFromLock(Parent, Path, 80))
{
GT_SetGadgetAttrs(MainGadgets[GD_GAD_PATH], MainWnd, NULL,
GTTX_Text, Path,
TAG_END);
}
else
AlertUser(MainWnd, "Path too large", "");
UnLock(Parent);
}
else
{
LoadVolumes(&FileList);
}
UnLock(File);
}
else
AlertUser(MainWnd, "Can't lock file ", Path);
Selected = FALSE;
return TRUE;
}
int GAD_OWNERClicked(VOID)
{
strncpy(UserInfo->UserID, GetString(MainGadgets[GD_GAD_OWNER]),
muUSERIDSIZE);
if(muGetUserInfo(UserInfo, muKeyType_UserID))
Changed = TRUE;
else
AlertUser(MainWnd, "No such user", UserInfo->UserID);
return TRUE;
}
int GAD_GROUPClicked(VOID)
{
strncpy(GroupInfo->GroupID, GetString(MainGadgets[GD_GAD_GROUP]),
muGROUPIDSIZE);
if(muGetGroupInfo(GroupInfo, muKeyType_GroupID))
Changed = TRUE;
else
AlertUser(MainWnd, "No such group", GroupInfo->GroupID);
return TRUE;
}
int GAD_CHECKBOXClicked(VOID)
{
Changed = TRUE;
return TRUE;
}
int GAD_UIDClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_SCRIPTClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_PUREClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_ARCHIVEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_USER_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_USER_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_USER_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_USER_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_GROUP_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_GROUP_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_GROUP_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_GROUP_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_OTHER_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_OTHER_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_OTHER_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
int GAD_OTHER_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }